S4: Overview of trust throughout the experiment

Graph 1: The plot below gives a timeline of the experiment. The plot shows mean trust value per participant across the different conditions for exposure, reliability, and different events. The plot shows that there might be different groups of individuals in how they respond to trust based on their slopes. Other noteable features inlcude that the data becomes more sparse throughout the experiment. Also significant is the biomodality that exists in the data. This signifies there may groupings of individuals of how they respond and interact to different conditions of trust. It is also interesting that the trust increases more in the high reliability exposure 2 trial in comparison to the low reliability exposure 2 trial. MOreover, it is interesting to note that NAs become more apparent and data becomes sparse towards the end of the study.

f.df
ggplot(f.df, aes(interaction(event, exposure, reliability), mean_trust_value, color = ID)) +
  #facet_grid(cols = vars(reliability))+
  #geom_violin(colour = "grey30", fill = "grey95", draw_quantiles = c(0.25, 0.5, 0.75)) +
  #geom_violin(colour = "grey90", fill = "NA", draw_quantiles = TRUE) +
  #geom_sina(colour = "grey55", size = 0.4, alpha = 0.8) +
  geom_line(aes(group = ID)) +
  labs( x = "Interaction of Event and Exposure", y = "Mean Trust Value") +
  #scale_x_discrete(limits=c("Startup", "venting", "Shutdown"))+
  ggtitle("Effect of Event, Exposure, and Reliability vs. Mean Trust Value") +
  guides(x = "axis_nested") 

colors = rainbow(5)
df <- f.df%>% 
  mutate(Color = ifelse(ID == "1", colors[1], ifelse(ID == "4", colors[4], ifelse(ID == "2", colors[5], "black"))))
                     
df
#source: https://stackoverflow.com/questions/59545834/highlighting-one-of-my-line-graphs-in-ggplot
colors = rainbow(5)
experiment.plot = ggplot(df, aes(interaction(event, exposure, reliability), mean_trust_value, color = Color)) +
  #facet_grid(cols = vars(reliability))+
  #geom_violin(colour = "grey30", fill = "grey95", draw_quantiles = c(0.25, 0.5, 0.75)) +
  #geom_violin(colour = "grey90", fill = "NA", draw_quantiles = TRUE) +
  #geom_sina(colour = "grey55", size = 0.4, alpha = 0.8) +
  geom_line(aes(group = ID)) +
  labs( x = "Interaction of Event and Exposure", y = "Mean Trust Value") +
  #scale_x_discrete(limits=c("Startup", "venting", "Shutdown"))+
  ggtitle("Effect of Event, Exposure, and Reliability vs. Mean Trust Value") +
  guides(x = "axis_nested") +
  scale_color_identity()
  #geom_miss_point() +
  # geom_point(data = subset(df,  ID == "5"),color = colors[3]) +
  # geom_line(data = subset(df,  ID == "5"),color = colors[3]) 
  
  experiment.plot

Investigate the effect of the complexity

The motivation for looking at complexity came from the participants seeming to respond to the simple complexity scenarios with a lot of confusion. Participants were able to accept that bucky would make a mistake in the recommendation, but seemed to struggle more if it made a mistake with providing the proper status update. However, the graph reveals that the complexity condition of the reliability does not seem to greatly vary within the low reliability trial.

complexity.df = ggplot(f.df, aes(interaction(complexity,reliability), mean_trust_value)) + 
  #facet_grid(cols = vars(reliability)) + 
  geom_violin(colour = "grey30", fill = "grey95", draw_quantiles = c(0.25, 0.5, 0.75)) +
  geom_violin(colour = "grey90", fill = "NA", draw_quantiles = TRUE) +
  geom_sina(colour = "grey55", size = 0.4, alpha = 0.8) +
  labs( x = "Complexity and Reliability", y = "Mean Trust Value") +
  #scale_x_discrete(limits=c("Startup", "venting", "Shutdown"))+
  ggtitle("Complexity and Reliability vs. Mean Trust Value") +
  guides(x = "axis_nested") 

complexity.df 

Linear correlation between the simple and complex trust scenarios

We investigated if there was a correlation between participant trust values in the simple conditions and complex conditions. There is no correlation in how people react in the none conditions and both condition for complexity.


pivot.df = f.df %>% 
  pivot_wider(names_from = complexity, values_from = mean_trust_value) %>%
   group_by(ID, event, exposure) %>%
   summarise_at(c("none", "both"), mean, na.rm = TRUE)
#pivot.df 

ggplot(pivot.df, aes(none, both)) +
  geom_point() + 
  geom_miss_point(alpha = .8, size = .9) +   
  ggtitle("Correlation of Trust Per Participant in Simple and Complex Conditions") +
  labs( x = "Trust (none)", y = "Trust (both)")+ 
  geom_smooth(method='lm', se = FALSE) +
   stat_poly_eq(aes(label = paste(..eq.label.., ..rr.label.., sep = "~~~")),
               formula = formula, parse = TRUE,
               label.x = .8, label.y = .8 # scale 0-1 relative coordinates
               )  

NA
NA

Creating and Testing of Models

The plots below show how people’s trust levels varied in the high and low reliability conditions. There are some trends among the participants, mainly in the shape of their slope. I suggest looking at the differneces between points for individuals to see if there are groupings in how people respond to the trust conditions.


#observe that each participant has a varying intercept more or less and a varying slope in their response to the data by some for the reliability 

ggplot(aes(interaction(event, exposure), mean_trust_value, color = reliability), data = f.df) + 
    geom_point() + 
  facet_wrap(~ ID) + # create a facet for each mountain range
  #geom_smooth(method = "lm") + 
  xlab("Progress in the Experiment") +  
  ylab("Mean Trust Value")


ggplot(aes(interaction(event, exposure), mean_trust_value, color = complexity), data = f.df) + 
    geom_point() + 
  facet_wrap(~ ID) + # create a facet for each mountain range
  #geom_smooth(method = "lm") + 
  xlab("Progress in the Experiment") + 
  ylab("Mean Trust Value")


ggplot(aes(interaction(event, exposure, reliability), mean_trust_value, color = ID), data = f.df) + 
    geom_point() + 
  geom_line(aes(group = ID)) + 
  #geom_smooth(method = "lm") + 
  xlab("Progress in the Experiment") + 
  ylab("Mean Trust Value")

LS0tCnRpdGxlOiAiKFM0KSBFeHBlcmltZW50IE92ZXJ2aWV3IgpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sKLS0tCiMjIFM0OiBPdmVydmlldyBvZiB0cnVzdCB0aHJvdWdob3V0IHRoZSBleHBlcmltZW50CgojIyBHcmFwaCAxOiBUaGUgcGxvdCBiZWxvdyBnaXZlcyBhIHRpbWVsaW5lIG9mIHRoZSBleHBlcmltZW50LiBUaGUgcGxvdCBzaG93cyBtZWFuIHRydXN0IHZhbHVlIHBlciBwYXJ0aWNpcGFudCBhY3Jvc3MgdGhlIGRpZmZlcmVudCBjb25kaXRpb25zIGZvciBleHBvc3VyZSwgcmVsaWFiaWxpdHksIGFuZCBkaWZmZXJlbnQgZXZlbnRzLiBUaGUgcGxvdCBzaG93cyB0aGF0IHRoZXJlIG1pZ2h0IGJlIGRpZmZlcmVudCBncm91cHMgb2YgaW5kaXZpZHVhbHMgaW4gaG93IHRoZXkgcmVzcG9uZCB0byB0cnVzdCBiYXNlZCBvbiB0aGVpciBzbG9wZXMuIE90aGVyIG5vdGVhYmxlIGZlYXR1cmVzIGlubGN1ZGUgdGhhdCB0aGUgZGF0YSBiZWNvbWVzIG1vcmUgc3BhcnNlIHRocm91Z2hvdXQgdGhlIGV4cGVyaW1lbnQuIEFsc28gc2lnbmlmaWNhbnQgaXMgdGhlIGJpb21vZGFsaXR5IHRoYXQgZXhpc3RzIGluIHRoZSBkYXRhLiBUaGlzIHNpZ25pZmllcyB0aGVyZSBtYXkgZ3JvdXBpbmdzIG9mIGluZGl2aWR1YWxzIG9mIGhvdyB0aGV5IHJlc3BvbmQgYW5kIGludGVyYWN0IHRvIGRpZmZlcmVudCBjb25kaXRpb25zIG9mIHRydXN0LiBJdCBpcyBhbHNvIGludGVyZXN0aW5nIHRoYXQgdGhlIHRydXN0IGluY3JlYXNlcyBtb3JlIGluIHRoZSBoaWdoIHJlbGlhYmlsaXR5IGV4cG9zdXJlIDIgdHJpYWwgaW4gY29tcGFyaXNvbiB0byB0aGUgbG93IHJlbGlhYmlsaXR5IGV4cG9zdXJlIDIgdHJpYWwuIE1PcmVvdmVyLCBpdCBpcyBpbnRlcmVzdGluZyB0byBub3RlIHRoYXQgTkFzIGJlY29tZSBtb3JlIGFwcGFyZW50IGFuZCBkYXRhIGJlY29tZXMgc3BhcnNlIHRvd2FyZHMgdGhlIGVuZCBvZiB0aGUgc3R1ZHkuIAoKYGBge3J9CmYuZGYKYGBgCgpgYGB7cn0KZ2dwbG90KGYuZGYsIGFlcyhpbnRlcmFjdGlvbihldmVudCwgZXhwb3N1cmUsIHJlbGlhYmlsaXR5KSwgbWVhbl90cnVzdF92YWx1ZSwgY29sb3IgPSBJRCkpICsKICAjZmFjZXRfZ3JpZChjb2xzID0gdmFycyhyZWxpYWJpbGl0eSkpKwogICNnZW9tX3Zpb2xpbihjb2xvdXIgPSAiZ3JleTMwIiwgZmlsbCA9ICJncmV5OTUiLCBkcmF3X3F1YW50aWxlcyA9IGMoMC4yNSwgMC41LCAwLjc1KSkgKwogICNnZW9tX3Zpb2xpbihjb2xvdXIgPSAiZ3JleTkwIiwgZmlsbCA9ICJOQSIsIGRyYXdfcXVhbnRpbGVzID0gVFJVRSkgKwogICNnZW9tX3NpbmEoY29sb3VyID0gImdyZXk1NSIsIHNpemUgPSAwLjQsIGFscGhhID0gMC44KSArCiAgZ2VvbV9saW5lKGFlcyhncm91cCA9IElEKSkgKwogIGxhYnMoIHggPSAiSW50ZXJhY3Rpb24gb2YgRXZlbnQgYW5kIEV4cG9zdXJlIiwgeSA9ICJNZWFuIFRydXN0IFZhbHVlIikgKwogICNzY2FsZV94X2Rpc2NyZXRlKGxpbWl0cz1jKCJTdGFydHVwIiwgInZlbnRpbmciLCAiU2h1dGRvd24iKSkrCiAgZ2d0aXRsZSgiRWZmZWN0IG9mIEV2ZW50LCBFeHBvc3VyZSwgYW5kIFJlbGlhYmlsaXR5IHZzLiBNZWFuIFRydXN0IFZhbHVlIikgKwogIGd1aWRlcyh4ID0gImF4aXNfbmVzdGVkIikgCmBgYAoKCgpgYGB7cn0KY29sb3JzID0gcmFpbmJvdyg1KQpkZiA8LSBmLmRmJT4lIAogIG11dGF0ZShDb2xvciA9IGlmZWxzZShJRCA9PSAiMSIsIGNvbG9yc1sxXSwgaWZlbHNlKElEID09ICI0IiwgY29sb3JzWzRdLCBpZmVsc2UoSUQgPT0gIjIiLCBjb2xvcnNbNV0sICJibGFjayIpKSkpCiAgICAgICAgICAgICAgICAgICAgIApkZgpgYGAKCgpgYGB7cn0KI3NvdXJjZTogaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvNTk1NDU4MzQvaGlnaGxpZ2h0aW5nLW9uZS1vZi1teS1saW5lLWdyYXBocy1pbi1nZ3Bsb3QKY29sb3JzID0gcmFpbmJvdyg1KQpleHBlcmltZW50LnBsb3QgPSBnZ3Bsb3QoZGYsIGFlcyhpbnRlcmFjdGlvbihldmVudCwgZXhwb3N1cmUsIHJlbGlhYmlsaXR5KSwgbWVhbl90cnVzdF92YWx1ZSwgY29sb3IgPSBDb2xvcikpICsKICAjZmFjZXRfZ3JpZChjb2xzID0gdmFycyhyZWxpYWJpbGl0eSkpKwogICNnZW9tX3Zpb2xpbihjb2xvdXIgPSAiZ3JleTMwIiwgZmlsbCA9ICJncmV5OTUiLCBkcmF3X3F1YW50aWxlcyA9IGMoMC4yNSwgMC41LCAwLjc1KSkgKwogICNnZW9tX3Zpb2xpbihjb2xvdXIgPSAiZ3JleTkwIiwgZmlsbCA9ICJOQSIsIGRyYXdfcXVhbnRpbGVzID0gVFJVRSkgKwogICNnZW9tX3NpbmEoY29sb3VyID0gImdyZXk1NSIsIHNpemUgPSAwLjQsIGFscGhhID0gMC44KSArCiAgZ2VvbV9saW5lKGFlcyhncm91cCA9IElEKSkgKwogIGxhYnMoIHggPSAiSW50ZXJhY3Rpb24gb2YgRXZlbnQgYW5kIEV4cG9zdXJlIiwgeSA9ICJNZWFuIFRydXN0IFZhbHVlIikgKwogICNzY2FsZV94X2Rpc2NyZXRlKGxpbWl0cz1jKCJTdGFydHVwIiwgInZlbnRpbmciLCAiU2h1dGRvd24iKSkrCiAgZ2d0aXRsZSgiRWZmZWN0IG9mIEV2ZW50LCBFeHBvc3VyZSwgYW5kIFJlbGlhYmlsaXR5IHZzLiBNZWFuIFRydXN0IFZhbHVlIikgKwogIGd1aWRlcyh4ID0gImF4aXNfbmVzdGVkIikgKwogIHNjYWxlX2NvbG9yX2lkZW50aXR5KCkKICAjZ2VvbV9taXNzX3BvaW50KCkgKwogICMgZ2VvbV9wb2ludChkYXRhID0gc3Vic2V0KGRmLCAgSUQgPT0gIjUiKSxjb2xvciA9IGNvbG9yc1szXSkgKwogICMgZ2VvbV9saW5lKGRhdGEgPSBzdWJzZXQoZGYsICBJRCA9PSAiNSIpLGNvbG9yID0gY29sb3JzWzNdKSAKICAKICBleHBlcmltZW50LnBsb3QKCmBgYAoKCgpgYGB7ciBlY2hvID0gRkFMU0V9CmV4cGVyaW1lbnQucGxvdCA9IGdncGxvdChmLmRmLCBhZXMoaW50ZXJhY3Rpb24oZXZlbnQsIGV4cG9zdXJlLCByZWxpYWJpbGl0eSksIG1lYW5fdHJ1c3RfdmFsdWUpKSArCiAgI2ZhY2V0X2dyaWQoY29scyA9IHZhcnMocmVsaWFiaWxpdHkpKSsKICAjZ2VvbV92aW9saW4oY29sb3VyID0gImdyZXkzMCIsIGZpbGwgPSAiZ3JleTk1IiwgZHJhd19xdWFudGlsZXMgPSBjKDAuMjUsIDAuNSwgMC43NSkpICsKICAjZ2VvbV92aW9saW4oY29sb3VyID0gImdyZXk5MCIsIGZpbGwgPSAiTkEiLCBkcmF3X3F1YW50aWxlcyA9IFRSVUUpICsKICAjZ2VvbV9zaW5hKGNvbG91ciA9ICJncmV5NTUiLCBzaXplID0gMC40LCBhbHBoYSA9IDAuOCkgKwogIGdlb21fbGluZShhZXMoZ3JvdXAgPSBJRCkpICsKICBsYWJzKCB4ID0gIkludGVyYWN0aW9uIG9mIEV2ZW50IGFuZCBFeHBvc3VyZSIsIHkgPSAiTWVhbiBUcnVzdCBWYWx1ZSIpICsKICAjc2NhbGVfeF9kaXNjcmV0ZShsaW1pdHM9YygiU3RhcnR1cCIsICJ2ZW50aW5nIiwgIlNodXRkb3duIikpKwogIGdndGl0bGUoIkVmZmVjdCBvZiBFdmVudCwgRXhwb3N1cmUsIGFuZCBSZWxpYWJpbGl0eSB2cy4gTWVhbiBUcnVzdCBWYWx1ZSIpICsKICBndWlkZXMoeCA9ICJheGlzX25lc3RlZCIpICMrCiAgI2dlb21fbWlzc19wb2ludCgpCgoKYmltb2RhbC5wbG90ID0gZ2dwbG90KGYuZGYsIGFlcyhpbnRlcmFjdGlvbihleHBvc3VyZSxyZWxpYWJpbGl0eSksIG1lYW5fdHJ1c3RfdmFsdWUpKSArIAogICNmYWNldF9ncmlkKGNvbHMgPSB2YXJzKHJlbGlhYmlsaXR5KSkgKyAKICBnZW9tX3Zpb2xpbihjb2xvdXIgPSAiZ3JleTMwIiwgZmlsbCA9ICJncmV5OTUiLCBkcmF3X3F1YW50aWxlcyA9IGMoMC4yNSwgMC41LCAwLjc1KSkgKwogIGdlb21fdmlvbGluKGNvbG91ciA9ICJncmV5OTAiLCBmaWxsID0gIk5BIiwgZHJhd19xdWFudGlsZXMgPSBUUlVFKSArCiAgZ2VvbV9zaW5hKGNvbG91ciA9ICJncmV5NTUiLCBzaXplID0gMC40LCBhbHBoYSA9IDAuOCkgKwogIGxhYnMoIHggPSAiRXhwb3N1cmUgYW5kIFJlbGlhYmlsaXR5IiwgeSA9ICJNZWFuIFRydXN0IFZhbHVlIikgKwogICNzY2FsZV94X2Rpc2NyZXRlKGxpbWl0cz1jKCJTdGFydHVwIiwgInZlbnRpbmciLCAiU2h1dGRvd24iKSkrCiAgZ2d0aXRsZSgiUmVsaWFiaWxpdHkgdnMuIE1lYW4gVHJ1c3QgVmFsdWUiKSArCiAgZ3VpZGVzKHggPSAiYXhpc19uZXN0ZWQiKSAKCmV4cGVyaW1lbnQucGxvdApiaW1vZGFsLnBsb3QgCiAgCmBgYAoKIyMgSW52ZXN0aWdhdGUgdGhlIGVmZmVjdCBvZiB0aGUgY29tcGxleGl0eSAKClRoZSBtb3RpdmF0aW9uIGZvciBsb29raW5nIGF0IGNvbXBsZXhpdHkgY2FtZSBmcm9tIHRoZSBwYXJ0aWNpcGFudHMgc2VlbWluZyB0byByZXNwb25kIHRvIHRoZSBzaW1wbGUgY29tcGxleGl0eSBzY2VuYXJpb3Mgd2l0aCBhIGxvdCBvZiBjb25mdXNpb24uIFBhcnRpY2lwYW50cyB3ZXJlIGFibGUgdG8gYWNjZXB0IHRoYXQgYnVja3kgd291bGQgbWFrZSBhIG1pc3Rha2UgaW4gdGhlIHJlY29tbWVuZGF0aW9uLCBidXQgc2VlbWVkIHRvIHN0cnVnZ2xlIG1vcmUgaWYgaXQgbWFkZSBhIG1pc3Rha2Ugd2l0aCBwcm92aWRpbmcgdGhlIHByb3BlciBzdGF0dXMgdXBkYXRlLiBIb3dldmVyLCB0aGUgZ3JhcGggcmV2ZWFscyB0aGF0IHRoZSBjb21wbGV4aXR5IGNvbmRpdGlvbiBvZiB0aGUgcmVsaWFiaWxpdHkgZG9lcyBub3Qgc2VlbSB0byBncmVhdGx5IHZhcnkgd2l0aGluIHRoZSBsb3cgcmVsaWFiaWxpdHkgdHJpYWwuIAoKYGBge3J9CmNvbXBsZXhpdHkuZGYgPSBnZ3Bsb3QoZi5kZiwgYWVzKGludGVyYWN0aW9uKGNvbXBsZXhpdHkscmVsaWFiaWxpdHkpLCBtZWFuX3RydXN0X3ZhbHVlKSkgKyAKICAjZmFjZXRfZ3JpZChjb2xzID0gdmFycyhyZWxpYWJpbGl0eSkpICsgCiAgZ2VvbV92aW9saW4oY29sb3VyID0gImdyZXkzMCIsIGZpbGwgPSAiZ3JleTk1IiwgZHJhd19xdWFudGlsZXMgPSBjKDAuMjUsIDAuNSwgMC43NSkpICsKICBnZW9tX3Zpb2xpbihjb2xvdXIgPSAiZ3JleTkwIiwgZmlsbCA9ICJOQSIsIGRyYXdfcXVhbnRpbGVzID0gVFJVRSkgKwogIGdlb21fc2luYShjb2xvdXIgPSAiZ3JleTU1Iiwgc2l6ZSA9IDAuNCwgYWxwaGEgPSAwLjgpICsKICBsYWJzKCB4ID0gIkNvbXBsZXhpdHkgYW5kIFJlbGlhYmlsaXR5IiwgeSA9ICJNZWFuIFRydXN0IFZhbHVlIikgKwogICNzY2FsZV94X2Rpc2NyZXRlKGxpbWl0cz1jKCJTdGFydHVwIiwgInZlbnRpbmciLCAiU2h1dGRvd24iKSkrCiAgZ2d0aXRsZSgiQ29tcGxleGl0eSBhbmQgUmVsaWFiaWxpdHkgdnMuIE1lYW4gVHJ1c3QgVmFsdWUiKSArCiAgZ3VpZGVzKHggPSAiYXhpc19uZXN0ZWQiKSAKCmNvbXBsZXhpdHkuZGYgCmBgYAoKIyMgTGluZWFyIGNvcnJlbGF0aW9uIGJldHdlZW4gdGhlIHNpbXBsZSBhbmQgY29tcGxleCB0cnVzdCBzY2VuYXJpb3MKCldlIGludmVzdGlnYXRlZCBpZiB0aGVyZSB3YXMgYSBjb3JyZWxhdGlvbiBiZXR3ZWVuIHBhcnRpY2lwYW50IHRydXN0IHZhbHVlcyBpbiB0aGUgc2ltcGxlIGNvbmRpdGlvbnMgYW5kIGNvbXBsZXggY29uZGl0aW9ucy4gVGhlcmUgaXMgbm8gY29ycmVsYXRpb24gaW4gaG93IHBlb3BsZSByZWFjdCBpbiB0aGUgbm9uZSBjb25kaXRpb25zIGFuZCBib3RoIGNvbmRpdGlvbiBmb3IgY29tcGxleGl0eS4gCgpgYGB7cn0KCnBpdm90LmRmID0gZi5kZiAlPiUgCiAgcGl2b3Rfd2lkZXIobmFtZXNfZnJvbSA9IGNvbXBsZXhpdHksIHZhbHVlc19mcm9tID0gbWVhbl90cnVzdF92YWx1ZSkgJT4lCiAgIGdyb3VwX2J5KElELCBldmVudCwgZXhwb3N1cmUpICU+JQogICBzdW1tYXJpc2VfYXQoYygibm9uZSIsICJib3RoIiksIG1lYW4sIG5hLnJtID0gVFJVRSkKI3Bpdm90LmRmIAoKZ2dwbG90KHBpdm90LmRmLCBhZXMobm9uZSwgYm90aCkpICsKICBnZW9tX3BvaW50KCkgKyAKICBnZW9tX21pc3NfcG9pbnQoYWxwaGEgPSAuOCwgc2l6ZSA9IC45KSArICAgCiAgZ2d0aXRsZSgiQ29ycmVsYXRpb24gb2YgVHJ1c3QgUGVyIFBhcnRpY2lwYW50IGluIFNpbXBsZSBhbmQgQ29tcGxleCBDb25kaXRpb25zIikgKwogIGxhYnMoIHggPSAiVHJ1c3QgKG5vbmUpIiwgeSA9ICJUcnVzdCAoYm90aCkiKSsgCiAgZ2VvbV9zbW9vdGgobWV0aG9kPSdsbScsIHNlID0gRkFMU0UpICsKICAgc3RhdF9wb2x5X2VxKGFlcyhsYWJlbCA9IHBhc3RlKC4uZXEubGFiZWwuLiwgLi5yci5sYWJlbC4uLCBzZXAgPSAifn5+IikpLAogICAgICAgICAgICAgICBmb3JtdWxhID0gZm9ybXVsYSwgcGFyc2UgPSBUUlVFLAogICAgICAgICAgICAgICBsYWJlbC54ID0gLjgsIGxhYmVsLnkgPSAuOCAjIHNjYWxlIDAtMSByZWxhdGl2ZSBjb29yZGluYXRlcwogICAgICAgICAgICAgICApICAKCgpgYGAKCiMjIENyZWF0aW5nIGFuZCBUZXN0aW5nIG9mIE1vZGVscwoKVGhlIHBsb3RzIGJlbG93IHNob3cgaG93IHBlb3BsZSdzIHRydXN0IGxldmVscyB2YXJpZWQgaW4gdGhlIGhpZ2ggYW5kIGxvdyByZWxpYWJpbGl0eSBjb25kaXRpb25zLiBUaGVyZSBhcmUgc29tZSB0cmVuZHMgYW1vbmcgdGhlIHBhcnRpY2lwYW50cywgbWFpbmx5IGluIHRoZSBzaGFwZSBvZiB0aGVpciBzbG9wZS4gSSBzdWdnZXN0IGxvb2tpbmcgYXQgdGhlIGRpZmZlcm5lY2VzIGJldHdlZW4gcG9pbnRzIGZvciBpbmRpdmlkdWFscyB0byBzZWUgaWYgdGhlcmUgYXJlIGdyb3VwaW5ncyBpbiBob3cgcGVvcGxlIHJlc3BvbmQgdG8gdGhlIHRydXN0IGNvbmRpdGlvbnMuIAoKCmBgYHtyfQoKI29ic2VydmUgdGhhdCBlYWNoIHBhcnRpY2lwYW50IGhhcyBhIHZhcnlpbmcgaW50ZXJjZXB0IG1vcmUgb3IgbGVzcyBhbmQgYSB2YXJ5aW5nIHNsb3BlIGluIHRoZWlyIHJlc3BvbnNlIHRvIHRoZSBkYXRhIGJ5IHNvbWUgZm9yIHRoZSByZWxpYWJpbGl0eSAKCmdncGxvdChhZXMoaW50ZXJhY3Rpb24oZXZlbnQsIGV4cG9zdXJlKSwgbWVhbl90cnVzdF92YWx1ZSwgY29sb3IgPSByZWxpYWJpbGl0eSksIGRhdGEgPSBmLmRmKSArIAogICAgZ2VvbV9wb2ludCgpICsgCiAgZmFjZXRfd3JhcCh+IElEKSArICMgY3JlYXRlIGEgZmFjZXQgZm9yIGVhY2ggbW91bnRhaW4gcmFuZ2UKICAjZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIikgKyAKICB4bGFiKCJQcm9ncmVzcyBpbiB0aGUgRXhwZXJpbWVudCIpICsgIAogIHlsYWIoIk1lYW4gVHJ1c3QgVmFsdWUiKQoKZ2dwbG90KGFlcyhpbnRlcmFjdGlvbihldmVudCwgZXhwb3N1cmUpLCBtZWFuX3RydXN0X3ZhbHVlLCBjb2xvciA9IGNvbXBsZXhpdHkpLCBkYXRhID0gZi5kZikgKyAKICAgIGdlb21fcG9pbnQoKSArIAogIGZhY2V0X3dyYXAofiBJRCkgKyAjIGNyZWF0ZSBhIGZhY2V0IGZvciBlYWNoIG1vdW50YWluIHJhbmdlCiAgI2dlb21fc21vb3RoKG1ldGhvZCA9ICJsbSIpICsgCiAgeGxhYigiUHJvZ3Jlc3MgaW4gdGhlIEV4cGVyaW1lbnQiKSArIAogIHlsYWIoIk1lYW4gVHJ1c3QgVmFsdWUiKQoKZ2dwbG90KGFlcyhpbnRlcmFjdGlvbihldmVudCwgZXhwb3N1cmUsIHJlbGlhYmlsaXR5KSwgbWVhbl90cnVzdF92YWx1ZSwgY29sb3IgPSBJRCksIGRhdGEgPSBmLmRmKSArIAogICAgZ2VvbV9wb2ludCgpICsgCiAgZ2VvbV9saW5lKGFlcyhncm91cCA9IElEKSkgKyAKICAjZ2VvbV9zbW9vdGgobWV0aG9kID0gImxtIikgKyAKICB4bGFiKCJQcm9ncmVzcyBpbiB0aGUgRXhwZXJpbWVudCIpICsgCiAgeWxhYigiTWVhbiBUcnVzdCBWYWx1ZSIpCgpgYGAKCgoKCg==